1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
23.04.2015, 07:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
http://hackage.haskell.org/package/b...xts.html#v:Ptr
GHC.Exts это не Prelude, это какоето расширение для GHC, сотвественно к родным типам ниакакого отношения не имеет.
И не смотрите на путь к файлу - GHC. Это в стандарте.
это вообще FFI.

где в стандарте (именно в описании самого языка, а не модулей) есть упоминание о указателях и операциях с ними? собственно в 6.1 https://www.haskell.org/onlinereport/basic.html ниаких указателей нет
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2015, 07:05
Ответы с готовыми решениями:

Олимпиадное программирование : C++ VS Python.
Хорошие люди добились того, что Python 3.0 разрешен на олимпиадах. К сожалению я не знаю ни C++ ни Питон.))) И последнюю олимпиаду...

Промышленное программирование
Ищу людей с опытом работы с ком портами и общения по ним с контролерами, разумеется разрабатывающих софт на с++, для обмена опытом! Буду...

Олимпиадное программирование
Всем доброго времени суток! Прошу помощи с задачей с тимуса 1570. Ссылка: http://acm.timus.ru/problem.aspx?space=1&num=1570 . Не имею...

308
Модератор
 Аватар для Curry
5168 / 3531 / 536
Регистрация: 01.06.2013
Сообщений: 7,685
Записей в блоге: 9
23.04.2015, 08:32
Цитата Сообщение от pycture Посмотреть сообщение
это вообще FFI.

Не по теме:

Хоть один пользователь киберфорума способен признать что неправ и сделать сэппуку ?


FFI часть языка, а не "вообще". Вот, вы недавно слайсы на F# демонстрировали (противопоставляя де), так, с тем же успехом некто бы объявил что "это же слайсы, а в F# их нет". Логика такая. Тем более что Вы и сами не знаете сколько функций на сях CLR вызывает для выполнения Вашего кода.
Haskell
1
2
3
4
5
6
7
8
9
import Foreign
import Foreign.C.String
import Control.Monad
 
main = allocaBytes 8 $ \ buf -> do
            poke buf ( 0x74637970 :: Word32)
            poke (plusPtr buf 4) ( 0x657275 :: Word32) 
            peekCAString $ castPtr buf
       >>= putStrLn
http://ideone.com/OMMEju
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
23.04.2015, 08:35
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Вот, вы недавно слайсы на F# демонстрировали
которые описаны в спецификации языка и работают без всяких импортов. где в спецификации хаскеля есть описание указателей?
0
Модератор
 Аватар для Curry
5168 / 3531 / 536
Регистрация: 01.06.2013
Сообщений: 7,685
Записей в блоге: 9
23.04.2015, 08:57
Цитата Сообщение от pycture Посмотреть сообщение
которые описаны в спецификации языка и работают без всяких импортов. где в спецификации хаскеля есть описание указателей?
В F# без импортов, в других языках для всего import-ы нужны. Включая подключаемый по умолчанию Prelude.
В сях, тогда вообще ничего нельзя без #include (а так же в Аде, паскале и пр.). Плохая отмазка. Если чего - фукции работы с указателем INLINE, а не на си.
Где в спецификации языка есть указатели я ранее ссылку давал, Вам же в этой теме.

Добавлено через 6 минут
pycture, и без толку спецификацией старой трясти. Даже если бы указателей там не было (а они есть), Хаскелисты, по факту, используют конкретный компилятор GHC, в котором гораздо больше возможностей чем в стандарте.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
23.04.2015, 09:01
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Где в спецификации языка есть указатели я ранее ссылку давал, Вам же в этой теме.
это спецификация стандартных библиотек. конкретно спецификация языка хаскеля (в отличии от c# с чего и шло сравнение) не имеет _встроенных механизмов работы с указателями на уровне языка_. поэтому в c# вводятся доп конструкции на уровне языка для работы с указателями, а в хаскель не вводятся, т.к. он с ними (как язык) не работает.
0
Модератор
 Аватар для Curry
5168 / 3531 / 536
Регистрация: 01.06.2013
Сообщений: 7,685
Записей в блоге: 9
23.04.2015, 09:28
Цитата Сообщение от pycture Посмотреть сообщение
не имеет _встроенных механизмов работы с указателями на уровне языка_
Если для castPtr , peekPtr, pokePtr, plusPtr и других не вызываются вспомогательные сишные функций, а прямо код генерируется, то это не встроено в язык? Подключение библиотек всё равно требуется, но не для описания, какие сишные ф-ии вызывать.

Вот, 2D слайсы (как и массивы вообще) в Haskell не встроены, это да. Я специально спрашивал кое где, как 2D (3D...) слайсы реализовать можно. Можно, оказывается, но не на уровне языка. Что и признаю. А указатели встроены.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
23.04.2015, 20:49
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Если для castPtr , peekPtr, pokePtr, plusPtr и других не вызываются вспомогательные сишные функций, а прямо код генерируется, то это не встроено в язык?
то что не указано в спецификации языка - не встроено, а что там llvm инлайнит дело 10-е. копнем модуль Ptr.hs от GHC - что имеем?
{-# LANGUAGE Unsafe #-}
Portability : non-portable (GHC Extensions)
хитрые прагмы и непереносимые расширения для _конкретного_ компилятора.
все стандарные типы хаскеля перечислены тут https://www.haskell.org/online... 13-1160006. здесь указателей нет.
0
Модератор
 Аватар для Curry
5168 / 3531 / 536
Регистрация: 01.06.2013
Сообщений: 7,685
Записей в блоге: 9
23.04.2015, 21:25
Цитата Сообщение от pycture Посмотреть сообщение
то что не указано в спецификации языка - не встроено
Вообще то, сама эта фраза неправильна. Если GHC встроил чтото, но оно не в спецификации, то ... оно окажется не встроенным? При чём тут спецификация?
Цитата Сообщение от pycture Посмотреть сообщение
а что там llvm инлайнит
llvm не пробовал. По дефолту, нативный код генерится.
Цитата Сообщение от pycture Посмотреть сообщение
копнем модуль Ptr.hs от GHC - что имеем?
{-# LANGUAGE Unsafe #-}
Portability : non-portable (GHC Extensions)
Грубо передёргиваете. Этот текст из заголовка файла GHC/Ptr.hs - такой ФАЙЛ не описан в стандарте. Но, авторам компилятора так захотелось. Этот файл напрямую не подключают. Что подключают я показал.
Внутри модуля Foreign вызывается GHC/Ptr.hs для этого компилятора. По этому, чтобы показать, как выглядят указатели в Haskell я и дал ссылку на этот файл.
Цитата Сообщение от pycture Посмотреть сообщение
хитрые прагмы
Где вы видели прагмы в приведённом мной в этом топике ранее коде? Для работы с указателями не нужны прагмы.
Цитата Сообщение от pycture Посмотреть сообщение
все стандарные типы хаскеля перечислены тут https://www.haskell.org/online... 13-1160006. здесь указателей нет.
Опять грубо передёргиваете, т.к. в следующих страницах этого же документа https://www.haskell.org/online... -1540008.4
указатели и описываются. И, да, FFI - часть языка, как монады, например.

Так передёргивать, случайно, по непониманию нельзя. Это просто боязнь признать свою неправоту.
Играть до бесконечности в эту игру и писать друг другу детские фразы "слив засчитан" мне неохота.
Жаль. Полагал Вас более разумным. Отписываюсь.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
25.04.2015, 14:33
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Если GHC встроил чтото, но оно не в спецификации, то ... оно окажется не встроенным?
да. иначе с таким же успехом можно расскзывать что в паскале есть проперти. т.к. конкретно дельфи может их компилить.
Этот текст из заголовка файла GHC/Ptr.hs - такой ФАЙЛ не описан в стандарте. Но, авторам компилятора так захотелось.
им бы этого не захотелось будь в языке встроенные и документированные механизмы. логично?
Кликните здесь для просмотра всего текста

Не по теме:

передёргивать
я значение этого слова и как оно в языке появилось до сих пор не понимаю


ну и самое интересное http://ohaskell.dshevchenko.bi... skell.html раздел
"Работаем с внутренностями". что там? а там совершенно жуткая весчь. что б поработать с сишной структурой надо написать непойми что (т.е. не чисто хаскельный код) и скормить это! препроцессору!. если б в языке была полноценная работа с указателями то на кой все эти танцы с бубном препроцессором?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2015, 14:33

Олимпиадное программирование
Здравствуйте. Посоветуйте, пожалуйста, какие-нибудь книги или интернет-ресурсы по олимпиадному программированию. Очень важно, чтобы было в...

Олимпиадное программирование!
Привет всем!Я начинающий программер и очень хотелось бы решать олимпиадный задачки c acm.sgu.ru! но не хватает знаний по алгоритмам!кто...

Олимпиадное программирование
Доброго времени суток!Собсна сабж: в школе участвовал на олимпиадах по программированию, занимался самостоятельно(т.к. учился в гимназии),...

Олимпиадное программирование 11 класс
Задачу прикрепил во вложение. Задача #3. Буду благодарен за помощь)

Олимпиадное программирование 11 класс
Саша взял тетрадный лист из N*M клеточек и пронумеровал все клетки различными числами. Теперь ему стало интересно, сколько различных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
309
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru